Skip to content

[pull] master from ruby:master - #1282

Merged
pull[bot] merged 25 commits into
turkdevops:masterfrom
ruby:master
Aug 5, 2026
Merged

[pull] master from ruby:master#1282
pull[bot] merged 25 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Aug 5, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

matzbot and others added 25 commits August 5, 2026 07:39
spec/quality_spec.rb only ran in the two full-suite Ubuntu jobs, so
failures surfaced late and nowhere else. Port it to tool/quality_check.rb
as plain Ruby, run it via `rake quality:check` in the ubuntu-lint
check_misc job, and drop it from the spec suite, intentionally removing
it from the ruby/ruby vendored suite where repo hygiene checks are not
needed. The `ruby -w` warnings check now runs only on the check_misc
CRuby (3.4) instead of also on 3.2.

ruby/rubygems@2c59e7b281

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
It guarded the language quality of the Spanish man page translations,
but no .es.ronn files are left in the repo, so it scanned English files
for Spanish words and could never fail. Also remove the be_well_formed
and be_sorted matchers, which have no remaining users.

ruby/rubygems@43a4188999

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…st suite

The e2e example from ruby/rubygems@3b9c572b43 guarded compact index cache writes
under a permissive umask. The client now lives in RubyGems, so assert
the CacheFile invariant directly: a fresh cache file keeps the explicit
0644 mode instead of picking up the umask.

ruby/rubygems@dbd2465993

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bundler's downloader already recovers from a stale over-long cache by
dropping the Range header and refetching the whole file, but
Gem::CompactIndexClient::HTTPFetcher raised FetchError instead, so the
gem CLI could not self-heal. Align the behavior.

ruby/rubygems@0d65a77e3b

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both halves of what it exercised are unit-covered now: the downloader
spec covers dropping the Range header on 416, and the RubyGems updater
tests cover replacing the cache from a full response. Remove the
example and its dedicated artifice server.

ruby/rubygems@56f09e3ebc

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tall, update, and lock

When cooldown silently resolves an older version, users comparing
environments with different cooldown settings can't tell why they got
different versions. Collect the versions the resolver excluded, and after a
successful resolution print the newest skipped version per gem once the
command finishes.

ruby/rubygems@ce938110f7

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Inside double quotes, the escape was cancelled by almost any character
but not by whitespace, so `"AA\ " BB` came out as a single argument.

[Bug #22201]
The example passing lineno 10 evaluated __FILE__, which prints the
filename instead of 10.
IO::Buffer.new takes a size as its first argument, so passing a string
raises TypeError. Adjust the sample output to the flags the buffer
created by IO::Buffer.for actually shows.
ObjectSpace.trace_object_allocations raises LocalJumpError when called
without a block.
The example calls Date.new, which raises NameError without the
require.
The do block attaches to define_method while &Ractor.shareable_proc
also passes a block argument, so the example fails to parse. Pass the
shareable proc as a positional argument instead.
…ses=

RubyGems validates each entry as a single SPDX identifier; compound
expressions such as `MIT OR Apache-2.0` are rejected with a warning at
`gem build`. Document that, the `+`/`WITH` syntax, and the array form
as the only supported way to declare a multi-licensed gem. Also replace
the deprecated `GPL-2.0` example with `GPL-2.0-only`.

rubygems/guides#433

ruby/rubygems@eb398892ab

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This more closely matches parse.y, and simplifies a bit of the lex
state as seen from the outside.

ruby/prism@06dff548e8
This also more closely matches parse.y, and makes it easier to
delineate which brace belongs to which type.

ruby/prism@43ed8c1f80
Now we fully match parse.y, and it is clearer to distinguish
betewen backticks that are used for method names and backticks
that begin xstring literals.

ruby/prism@a33c3ff7fe
This commit adds tests to ensure that the monitor list is handled
correctly in advance or rlgc merging.

Because the monitor list can be mutated by multiple Ractors it's
possible to engineer a situation where the list contains dangling
pointers.

This test causes a SEGV under rlgc.
If the shape capacity isn't set on an object, one thing that fails is
moving it across Ractors. The new object created in the dst Ractor needs
to be big enough to embed the contents if the src was embedded.
Previously, JIT single-ractor mode invalidation happened on every `Ractor.new` call.
This invalidation takes the VM lock + VM barrier so slows down these calls. We only
need to invalidate compiled code that makes these single-ractor assumptions on the
transition from single-ractor to multi-ractor mode. The JITs never make single-ractor
assumptions when multi-ractor mode has been enabled.

If a process in multi-ractor mode forks, the forked process is set back to single-ractor
mode. The JITs can therefore make single-ractor assumptions in this new process, and the
invalidation can occur again when the first non-main Ractor is created in that process.
This reverts commit 0017dea,
5e36630, and
f3ec056.

We are trying to bump to latest IRB, which has "Accomodate new prism
tokens", but that runs into another CI failure. While we figure out a
path forward at <#18207>, let's get
back to a green CI.
This function returns -1 on error, or the number of bytes read on
success. Preserve current behaviour and also error out on error.
Discovered by an experimental static analyzer I work on.

ruby/openssl@b36a61597e
@pull pull Bot locked and limited conversation to collaborators Aug 5, 2026
@pull pull Bot added the ⤵️ pull label Aug 5, 2026
@pull
pull Bot merged commit 87b5ece into turkdevops:master Aug 5, 2026
0 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants